package com.campsys.mapping;

import com.campsys.domain.TActivityCategory;
import com.campsys.domain.TManagerActivity;
import com.campsys.domain.param.ActivityAddParam;
import com.campsys.domain.param.ActivityCategoryAddParam;
import com.campsys.domain.param.ActivityCategoryUpdateParam;
import com.campsys.domain.param.ActivityUpdateParam;
import com.campsys.domain.vo.ActivityCategoryListVo;
import com.campsys.domain.vo.ActivityCategoryPageVo;
import com.campsys.domain.vo.ActivityListVo;
import com.campsys.domain.vo.ActivityPageVo;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

@Mapper
public interface ActivityMapping {

    ActivityMapping INSTANCE = Mappers.getMapper(ActivityMapping.class);

    List<ActivityCategoryPageVo> toPage(List<TActivityCategory> list);

    List<ActivityCategoryListVo> toList(List<TActivityCategory> list);

    TActivityCategory to(ActivityCategoryAddParam activityCategoryAddParam);

    TActivityCategory to(ActivityCategoryUpdateParam activityCategoryUpdateParam);

    TManagerActivity to(ActivityAddParam activityAddParam);

    TManagerActivity to(ActivityUpdateParam activityUpdateParam);

    List<ActivityPageVo> toPageActivity(List<TManagerActivity> list);

    List<ActivityListVo> toListActivity(List<TManagerActivity> list);

}
